﻿using System;

namespace WJ.Infrastructure.DDD
{
    public interface IRepository<TEntity> where TEntity : IAggregateRoot
    {
        TEntity FindById(Guid Id);

        void Add(TEntity entity);

        void Remove(TEntity entity);

        void Update(TEntity entity);

        void UpSert(TEntity entity);
    }
}
